<template>
  <el-card>
    <div class="page-header">
      <!--
        注意：
         1. 当前组件左右标签结构都不确定，所以用插槽技术解决
            因为有两处不确定，需要给slot取名(添加name属性来区分)
         2. 左右内容不一定有需要显示，只有使用组件的时候，给left和right插槽分发了
            标签了，才需要展示内容，这里借助了$slot和v-if指令配合做条件渲染
            !!!知识点：$slots可以获取到组件所有的插槽内容
         3. v-if不能加给类名为left和right的div上，这样可能会破坏左右布局，影响排版
       -->
      <div class="left">
        <!-- 如果传递了left插槽，则展示 -->
        <div v-if="$slots.left" class="content">
          <el-icon name="info" />
          <slot name="left" />
        </div>
      </div>
      <div class="right">
        <!-- 如果传递了right插槽，则展示 -->
        <div v-if="$slots.right" class="content">
          <slot name="right" />
        </div>
      </div>
    </div>
  </el-card>
</template>

<script>
export default {
  name: 'PageHeader'
}
</script>

<style scoped lang="scss">
    .page-header{
        display: flex;
        justify-content: space-between;
        .left {
            .content {
                height: 100%;
                display: flex;
                align-items: center;
                padding: 0 15px;
                background: #e6f7ff;
                border: 1px solid #91d5ff;
                border-radius: 5px;
                .el-icon-info {
                    margin-right: 5px;
                    color: #409eff;
                }
            }
        }
    }
</style>
